# Dosage de O2 par la méthode de Winkler # Incertitudes de type A import numpy as np # paramètres du dosage # volume de la prise d'essai (mL) v0 = 50 # concentration de la solution titrante (mol/L) c = 8.0e-3 # pression partielle en O2 (bar) p_O2 = # valeur tabluée de la constante de dissolution K_tab = 1.3e-3 # tableau des volumes équivalents (à compléter) Veq = np.array([]) # calcul de la concentration en O2 C_O2 = (c*Veq)/(4*v0) C_O2_moy = np.average(C_O2) u_C_O2 = np.std(C_O2,ddof=1) u_C_O2_moy = u_C_O2 / (len(C_O2)**0.5) print(C_O2_moy,u_C_O2_moy) # calcul de la constante de solubilité K = K_moy = u_K = u_K_moy = print(K_moy,u_K_moy) # calcul du z-score z_score = print(z_score) # Incertitudes de type B # paramètres du dosage # nombres de simulations n = 10000 # pipette jaugée v0 = 50 delta_v0 = V0 = v0 + delta_v0*np.random.uniform(-1,1,n) # concentration de la solution titrante c = 8.0e-3 delta_c = C = c + delta_c*np.random.uniform(-1,1,n) # volume équivalent veq = delta_veq1 = # burette delta_veq2 = # lecture delta_veq3 = # goutte près Veq = veq + delta_veq1*np.random.uniform(-1,1,n) + delta_veq2*np.random.uniform(-1,1,n) + delta_veq3*np.random.uniform(-1,1,n) # calcul de la concentration en O2 c_O2 = (c*veq)/(4*v0) C_O2 = (C*Veq)/(4*V0) u_C_O2 = np.std(C_O2,ddof=1) print(c_O2,u_C_O2) # calcul de la constante de solubilité k = K = u_K = print(k,u_K) # calcul du z-score z_score = print(z_score)